package cn.lumora.config;

import cn.dev33.satoken.filter.SaServletFilter;
import cn.dev33.satoken.stp.StpUtil;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SaTokenConfigure {

    // 注册 Sa-Token 全局过滤器
    @Bean
    public SaServletFilter getSaServletFilter() {
        return new SaServletFilter()
                .addInclude("/**")     // 拦截所有路径
                .addExclude("/auth/**") // 放行 /auth 开头的路径
                .setAuth(r -> {
                    // 打印 token 相关信息，方便调试
                    System.out.println("----- Sa-Token 认证开始 -----");
                    System.out.println("请求Token: " + StpUtil.getTokenValue());
                    System.out.println("登录状态: " + StpUtil.isLogin());
                    System.out.println("登录账号id: " + StpUtil.getLoginIdDefaultNull());
                    System.out.println("TokenInfo: " + StpUtil.getTokenInfo());
                    System.out.println("Session: " + StpUtil.getSession());
                    System.out.println("----- Sa-Token 认证结束 -----");

                    // 如果你想要求登录，可以取消注释下面这一行
                    // StpUtil.checkLogin();
                });
    }
}